package com.ffcs.web.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/*******************************************************************************
 * Copyright © 2008，北京福富软件技术股份有限公司 All Rights Reserved.
 * 
 * 文件名称： ConfigUtil.java 摘 要： 读取config.properties配置文件
 * 
 * 初始版本：1.0.0.0 原 作 者： 林 娟 完成日期： Dec 6, 2011 8:50:19 AM
 * 
 * 当前版本： 1.1.0.0 作 者： 输入作者（或修改者）名字 完成日期：
 * 
 ******************************************************************************/

public class ConfigUtil {

	final static Logger logger = LoggerFactory.getLogger(ConfigUtil.class);

	/**
	 * 加载配置文件config.properties
	 * 
	 * @return
	 */
	private static Properties parseProperties(String configPath) {
		InputStream in = ConfigUtil.class.getResourceAsStream(configPath);
		Properties properties = new Properties();
		try {
			if (in == null) {
				logger.info("找不到配置文件{}", configPath);
				return null;
			}
			properties.load(in);
		} catch (IOException e) {
			e.printStackTrace();
			logger.error("解析配置文件config.properties失败,错误信息:" + e.getMessage());
		} finally{
			try {
				if (in != null) {
				in.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		

		return properties;

	}

	/**
	 * 读取配置文件中的数据
	 * 
	 * @return
	 */
	public static Map<String, String> parsePropertiesData(String configPath) {
		Properties p = parseProperties(configPath);
		if (p == null) {
			return null;
		}

		Set s = p.keySet();
		Map<String, String> map = new HashMap<String, String>();
		for (Iterator iter = s.iterator(); iter.hasNext();) {
			String key = String.valueOf(iter.next());
			String value = p.getProperty(key);
			map.put(key.trim(), value.trim());
		}

		return map;
	}

	public static void main(String[] args) {
		//要测试 得现在.class目录下新建一个config.properties文件
		Map map = ConfigUtil.parsePropertiesData("config.properties");
		System.out.println(map.get("PROXY_HOST"));
		System.out.println("success");
	}

}
